package top.lixunda.ecommerce.server.good.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.lixunda.ecommerce.server.good.api.entity.db.FrequentlyQuestionDO;
import top.lixunda.ecommerce.server.good.api.entity.dto.QuestionChangeDTO;
import top.lixunda.ecommerce.server.good.api.entity.dto.QuestionInsertDTO;

import java.util.List;

/**
 * <p>
 * FQA 常问问题数据表，目前由商家进行设置 服务类
 * </p>
 *
 * @author Xumda
 * @since 2020-01-06
 */
public interface IFrequentlyQuestionService extends IService<FrequentlyQuestionDO> {

    /**
     * 插入一个FQA
     *
     * @param questionInsertDtoList FQA数据
     * @return 插入数量
     */
    Integer saveFqas(List<QuestionInsertDTO> questionInsertDtoList);

    /**
     * 查询商品所有FQA
     *
     * @param ids 商品id
     * @return FQA列表，不一定是商品特有的，也可能是店铺共有的
     */
    List<FrequentlyQuestionDO> queryAllFqaByGoodIds(List<Integer> ids);

    /**
     * 查询店铺所有FQA
     *
     * @param ids 店铺id
     * @return FQA列表
     */
    List<FrequentlyQuestionDO> queryAllFqaByStoreIds(List<Integer> ids);

    /**
     * 根据id查询FQA
     *
     * @param ids FQA的id
     * @return FQA列表
     */
    List<FrequentlyQuestionDO> queryFqaByIds(List<Integer> ids);

    /**
     * 根据FQA的id更改FQA数据
     *
     * @param questionChangeDTO FQA的id及更改数据
     * @return 更改后的FQA数据
     */
    FrequentlyQuestionDO changeQuestionById(QuestionChangeDTO questionChangeDTO);

    /**
     * 根据id移除FQA数据
     *
     * @param ids FQA的id
     * @return 移除数量
     */
    Integer removeQuestionById(List<Integer> ids);

}
